package Day12;

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
/**
 * 2021Java真题:杨辉三角形
 * https://www.lanqiao.cn/problems/1457/learning/
 */
public class Main3 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        long n = scan.nextLong();
        long[] arr = new long[44725];
        arr[0] = 1;
        long k = 1l;//统计有多少个数
        if(n == 1){
          System.out.println(1);
          return;
        }
        //遍历每一行
        for(int i = 1; i < 44725; i++){
          //遍历每一列
          //从后往前进行赋值，当在34行第16列的时候，我们的值就超过10亿，因此我们只需要计算前16列的值
          for(int j = i; j >= i - 16 && j >= 1; j--){
            //计算这一行对应列的值
            arr[j] += arr[j - 1];
            //如果值等于n
            if(arr[j] == n){
              //打印对应的是第几个数
              System.out.println(k + i - j + 1);
              return;
            }
          }
          //统计现在这几行的个数
          k += (i + 1);
        }

        //如果在这之前都没有出现这个数，我们就可以认为这个数在第n+1行的第2列
        //((1 + n) * n) / 2 是因为这个杨辉三角的数量是方形的一半,在加上2就下一行的第2列的位置
        System.out.println((((1 + n) * n ) / 2) + 2);
        scan.close();
    }
}